package com.greateamd.timetableasy.client.services.cursus;

import java.util.Date;
import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.greateamd.timetableasy.domain.Cursus;
import com.greateamd.timetableasy.domain.Event;
import com.greateamd.timetableasy.domain.StudyPeriod;


public interface CursusServiceAsync {

	void remove(Cursus cursus, AsyncCallback<Boolean> callback);
	void find(int id, AsyncCallback<Cursus> callback);
	void update(Cursus cursus, AsyncCallback<Boolean> callback);
	void updateSp(StudyPeriod sp, AsyncCallback<Boolean> callback);
	void save(Cursus cursus, AsyncCallback<Boolean> callback);
	void getAll(AsyncCallback<List<Cursus>> callback);
	
	void getStudyPeriodPlanning(StudyPeriod studyPeriod, Date fromDate, Date toDate, AsyncCallback<List<Event>> callback);
}
